Position-based automatic configuration of portable device

ABSTRACT

A method for automatically configuring a portable device comprises determining a position of the portable device and automatically configuring the portable device based on the determined position.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of electronicdevices. More specifically, the invention relates to automaticconfiguration of portable devices.

Many devices are typically configured to use or access peripheraldevices such as printers and network connections. For example, in anoffice environment with numerous printers, an individual's desktopcomputer may be configured to use a particular printer as a default. Theselection of the printer is typically a manual process which allows theuser to change the selection as desired.

A user with a portable device, such as a laptop computer, may carry thedevice to numerous locations. For example, a user working for a companywith multiple offices may be required to travel to the various officeson a regular basis. Each time the user changes his location, he mustmanually configure the portable device to select appropriateperipherals.

It would be desirable to provide for automatic configuration of theportable device in such situations.

SUMMARY OF THE INVENTION

One aspect of the invention relates to a method for configuring aportable device. The method comprises determining a position of theportable device and automatically configuring the portable device basedon the determined position.

In one embodiment, the determining a position is based on a globalpositioning system (GPS) determination. In another embodiment, thedetermining a position is based on a determination using a cellularnetwork.

In a particular embodiment, the configuring includes selecting one ormore peripherals for use by the portable device. The one or moreperipherals may include a printer or a network connection.

In one embodiment, the configuring the portable device includesconfiguring access to resources available at the current position of theportable device. Configuring access to resources may include one of thefollowing: selecting a mode of network access, configuring access rightsto one or more files, and disabling one or more ports or peripherals.

In one embodiment, the configuring the portable device includesselecting a profile based on the position from one or more profilesstored on the portable device.

In one embodiment, the determining a position of the portable deviceincludes determining whether the position has changed from an earlierposition. The determining whether the position has changed from anearlier position may be determined upon startup of the device.Alternatively, the determining whether the position has changed from anearlier position may be determined substantially continuously.

In one embodiment, the position is one of a plurality of areas.

In another aspect of the invention, a portable device comprises alocation module adapted to determine a current position of the portabledevice and a processor adapted to automatically configure the portabledevice based on the current position.

In another aspect, the invention includes a computer program product,embodied on a computer-readable medium, for configuring a portabledevice. The computer program product comprises computer code fordetermining a position of the portable device and computer code forautomatically configuring the portable device based on the determinedposition.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a system with a portable deviceaccording to an embodiment of the present invention;

FIG. 2 is a block diagram of the portable device of FIG. 1 according toan embodiment of the present invention;

FIG. 3A is a flow chart illustrating a method for configuring a portabledevice according to an embodiment of the present invention;

FIG. 3B is a flow chart illustrating a method for configuring a portabledevice according to another embodiment of the present invention;

FIG. 4A is a flow chart illustrating a method for configuring a portabledevice according to another embodiment of the present invention; and

FIG. 4B is a flow chart illustrating a method for configuring a portabledevice according to another embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1, a system with a portable device 100 according to anembodiment of the present invention is exemplarily illustrated. Thesystem 10 represents an environment in which a portable device 100 mayoperate. The portable device 100 may be one of a number of portabledevices, such as laptop computers, personal digital assistants (PDAs) orportable phones, for example. An exemplary portable device 100 isdescribed below with reference to FIG. 2.

Referring again to FIG. 1, the system 10 includes a plurality of areas111-114 within and across which the portable device 100 can move. Eacharea 111-114 may represent a region of the country, a state, a city, abuilding, a floor within a building, a zone, an office, a cubicle or thelike. Further, although the areas 111-114 illustrated in FIG. 1 areshown as adjacent to one another, in certain embodiments, the areas maybe disjointed. For example, one area may be a single floor on onebuilding in City A, while the next area may be a building in City B.

The portable device 100 is illustrated in FIG. 1 as moving from Area 1(111) to Area 3 (113). In one embodiment, the portable device 100 isshut down in Area 1 (111), moved to Area 3 (113) and restarted. Inanother embodiment, the movement of the portable device 100 occurs withthe device operating continuously.

Each area 111-114 is provided with one or more peripheral devices. Inthe example illustrated in FIG. 1, each area 111-114 is provided with aprinter 121-124 and a network connection 131-134. As will be appreciatedby those skilled in the art, different areas may be equipped withdifferent set of peripherals. For example, areas may be provided withany number of printers or multiple network connections. An area mayinclude an Ethernet connection for a local area network (LAN) inaddition to a wireless local area network connection. In addition toprinters and network connections, other peripherals may also beprovided.

Referring now to FIG. 2, an embodiment of a portable device 100 isillustrated. As noted above, the portable device 100 may be a laptopcomputer, a PDA, a portable phone or any other portable device. Forpurposes of simplicity, the portable device 100 is only shown withcertain components. Those skilled in the art will appreciate that such aportable device may include numerous other components and may lackcertain illustrated components.

The portable device 100 includes a central processing unit (CPU) 101adapted to control the overall operation of the portable device 100. TheCPU 101 may be configured with an operating system and a variety ofother software components. The portable device 100 is also provided witha memory device 102, which may take the form of a hard disk, forexample. In some embodiments, either in addition to or in place of thememory device 102, the portable device 100 may include a removablememory device, such as a flash drive, CD-ROM, CD-R, CD-R/W or any othercomputer-readable medium, for example. The removable memory device mayinclude either data or various computer program products with computercode. Additionally, the portable device 100 includes a random accessmemory (RAM) 103.

The portable device 100 also includes a communication module 104 toallow the portable device 100 to communicate with other components, forexample, in a network such as a local area network (LAN). Thecommunication module 104 may be adapted to communicate through a varietyof protocols including, for example, wireless local area network (WLAN)or an Ethernet connection. Of course, numerous other communicationprotocols may be used.

The portable device 100 illustrated in FIG. 1 also includes a locationmodule 105. The location module 105 is adapted to facilitate detectionor determination of the location of the portable device 100. In oneembodiment, the location module 105 is a global positioning system (GPS)module which uses GPS positioning to facilitate determination of thelocation. In another embodiment, the location module 105 is adapted touse a cellular network to determine its location. In this regard, thelocation module may be adapted to transmit and receive signals from acellular network, allowing the cellular network to determine theposition of the portable device 100 (e.g., through triangulation) andtransmit the location to the portable device. Other methods of locationdetermination will be apparent to those skilled in the art and arecontemplated within the scope of the present invention.

Now, with reference to FIGS. 3A, 3B, 4A and 4B, various methods ofautomatically configuring the portable device 100 will be described.Each method may be implemented on the portable device 100 in either theCPU 101 or the RAM 103, for example. The method may be implemented as acomputer program product on a computer-readable medium, such as a disk,for installation on a portable device.

Referring first to FIG. 3A, upon each startup of the portable device100, the current location of the portable device 100 is determined(block 310). This may be achieved using a GPS determination by thelocation module 105 illustrated in FIG. 1, for example. In this regard,the location module 105 may determine the location as a set ofcoordinates. Alternatively, the location module 105 may translate thecoordinates to a particular region of the country, a state, a city, abuilding, a floor within a building, a zone, an office, a cubicle or thelike. For example, in one embodiment, the location module 105 maydetermine in which office of a multi-city company the portable device iscurrently located.

At block 312, it is determined whether the location of the portabledevice 100 has changed. In this regard, the current position may becompared to the position of the portable device 100 when it waspreviously shut down or at the previous startup. If the location has notchanged, no changes are made, and the process terminates at block 318.On the other hand, if the location of the portable device is determinedto have changed, the resources available to the portable device 100 atthe current location are accessed (block 314). In this regard, theportable device 100 may perform a scan of the network to determine whichperipherals are available at the current location. For example, theportable device 100 may scan and determine that multiple printers areavailable.

Next, at block 316, the portable device 316 is configured based on itscurrent location. In this regard, configuration may includes a varietyof operations and/or actions taken by the portable device 316. Forexample, configuration of the device may include selecting one or moreperipherals for use by the portable device. Thus, the portable devicemay be configured to select one or more printers or network connectionsas being available for use. Further, the configuration of the portabledevice may include configuring access to resources, such as selectingone or more modes of accessing the network (e.g., wireless, LAN, etc.),configuring read/write/edit rights for one or more files or foldersavailable on the network, or disabling one or more ports or peripherals.

In this regard, the available resources may be analyzed in order toselect specific resources. For example, a particular printer may beselected as the default printer. The selection may be subject to certainrestrictions or preferences included in the portable device 100. Forexample, the portable device 100 may include a preference for printerswhich can print on two sides, or the portable device 100 may include arestriction to not select a color printer. Taking these restrictions andpreferences into account, one of the available printers may be selectedas the default. In addition to the selection of the default printer, theportable device 100 may be configured for other peripherals as well.

Referring now to FIG. 3B, another embodiment of a method ofautomatically configuring the portable device is illustrated. The methodillustrated in FIG. 3B is similar to that of FIG. 3A in many respectsbut varies in the selection of the resources. Again, upon each startupof the portable device 100, the current location of the portable device100 is determined (block 320). At block 322, it is determined whetherthe location of the portable device 100 has changed. If the location hasnot changed, no changes are made, and the process terminates at block328.

On the other hand, if the location of the portable device 100 isdetermined to have changed, the resources available to the portabledevice 100 at the current location are accessed (block 324). In thisregard, rather than performing a scan, the portable device 100 accessesone of a plurality of profiles stored in, for example, the memory device102. A separate profile may be provided for each location, such as eachoffice of a multi-city company. The profile corresponding to the currentlocation is accessed, and the selections identified in the profile areselected for configuration of the portable device. At block 326, theportable device 100 is accordingly configured.

Rather than determining the location of the portable device 100 atstartup, in some embodiments, the location is monitored on a regularbasis during the operation of the portable device. In one embodiment,the location is monitored substantially continuously (e.g., 1 Hz). Inthis regard, location changes during operation of the portable devicecan be used to reconfigure the portable device. For example, a usermoving from his office in a building to a conference room may desire tohave the default printer changed to one that is closer to the conferenceroom. FIGS. 4A and 4B illustrate two methods according to embodiments ofthe present invention in which the location of the portable device ismonitored on a regular basis, and the portable device is reconfiguredwhen the location is determined to have changed.

With reference to FIG. 4A, the current location of the portable device100 is determined (block 410). At block 412, it is determined whetherthe location of the portable device 100 has changed. If the location hasnot changed, no changes are made, and the process returns to block 410to continue monitoring the location of the portable device. On the otherhand, On the other hand, if the location of the portable device isdetermined to have changed, the resources available to the portabledevice 100 at the current location are accessed (block 414). In thisregard, the portable device 100 may perform a scan of the network todetermine which peripherals are available at the current location. Next,at block 416, the portable device 316 is configured based on its currentlocation, and the process returns to block 410 to continue monitoringthe location of the portable device.

With reference now to FIG. 4B, the current location of the portabledevice 100 is determined (block 420). At block 422, it is determinedwhether the location of the portable device 100 has changed. If thelocation has not changed, no changes are made, and the process returnsto block 420 to continue monitoring the location of the portable device.On the other hand, if the location of the portable device 100 isdetermined to have changed, the resources available to the portabledevice 100 at the current location are accessed (block 424). In thisregard, the portable device 100 accesses one of a plurality of profilesstored in, for example, the memory device 102. A separate profile may beprovided for each location, such as each office of a multi-city company.The profile corresponding to the current location is accessed, and theselections identified in the profile are selected for configuration ofthe portable device. At block 426, the portable device 100 isaccordingly configured, and the process returns to block 420 to continuemonitoring the location of the portable device.

While particular embodiments of the present invention have beendisclosed, it is to be understood that various different modificationsand combinations are possible and are contemplated within the truespirit and scope of the appended claims. There is no intention,therefore, of limitations to the exact abstract and disclosure hereinpresented.

What is claimed is:
 1. A method for configuring a portable device,comprising: monitoring location of the portable device to determinewhether a current position of the portable device has changed from aprevious position; connecting to a local network located at the currentposition; subsequent to the current position being determined to havechanged from the previous position, dynamically determining allcurrently available external resources at the current position byimmediately scanning for all available external resources connected tothe local network at the current position, and automatically configuringthe portable device to access at least one of the available externalresources based on the dynamically determined currently availableexternal resources at the current position and on one or more resourcepreferences stored in memory of the portable device, wherein configuringthe portable device to access at least one of the available externalresources includes selecting a mode of access to a network for use withthe portable device, configuring access rights to one or more files, anddisabling one or more port or peripherals.
 2. The method of claim 1,wherein the monitoring location of the portable device comprisesdetermining the current position based on a global positioning system(GPS) determination.
 3. The method of claim 1, wherein the monitoringlocation of the portable device comprises determining the currentposition based on determination using a cellular network.
 4. The methodof claim 1, wherein the currently available external resources includesone or more peripherals and wherein configuring the portable deviceincludes selecting the one or more peripherals for use by the portabledevice.
 5. The method of claim 4, wherein the one or more peripheralsincludes a network-accessible storage device located at the currentposition and connected to the local network.
 6. The method of claim 1,wherein the one or more resource preferences include at least one of apreference to use a type of peripheral device, a restriction not to usea type of peripheral device, and a default type of peripheral device. 7.The method of claim 1, wherein the monitoring location of the portabledevice to determine whether the current position has changed from theprevious position is performed upon detecting the local network.
 8. Themethod of claim 1, wherein the monitoring location of the portabledevice to determine whether the current position has changed from theprevious position is performed substantially continuously.
 9. The methodof claim 1, wherein the position is one of a plurality of areas.
 10. Aportable device, comprising: a location module to monitor a location ofthe portable device to determine whether a current position of theportable device has changed from a previous position; and a processorto, subsequent to the current position being determined to have changedfrom the previous position, dynamically determine all currentlyavailable external resources at the current position by immediatelyscanning for all available external resources connected to a localnetwork at the current position, wherein the processor automaticallyconfigures the portable device to access at least one of the availableexternal resources based on the dynamically determined currentlyavailable external resources at the current position and on one or moreresource preferences stored in memory of the portable device, selects amode of access to a network for use with the portable device, configuresaccess rights to one or more files, and disables one or more ports orperipherals.
 11. The device of claim 10, wherein the location moduleuses the global positioning system (GPS).
 12. The device of claim 10,wherein the location module uses a cellular network to determine thecurrent position.
 13. The device of claim 10, wherein the currentlyavailable external resources include one or more peripherals and whereinthe processor automatically configures the portable device by selectingthe one or more peripherals for use by the portable device.
 14. Thedevice of claim 13, wherein the one or more peripherals includes anetwork-accessible storage device located at the current position andconnected to the local network.
 15. The device of claim 10, wherein theone or more resource preferences include at least one of a preference touse a type of peripheral device, a restriction not to use a type ofperipheral device, and a default type of peripheral device.
 16. Thedevice of claim 10, wherein the location module monitors location of theportable device to determine whether the position has changed from theprevious position upon detecting the local network.
 17. The device ofclaim 10, wherein the location module monitors location of the portabledevice to determine whether the position has changed from the previousposition substantially continuously.
 18. The device of claim 10, whereinthe position is one of a plurality of areas.
 19. A computer programproduct, embodied on a non-transitory computer-readable medium, forconfiguring a portable device, comprising: computer code for monitoringlocation of the portable device to determine whether a current positionof the portable device has changed from a previous position; computercode for connecting to a local network located at the current position;computer code for, subsequent to the current position being determinedto have changed from the previous position, dynamically determining allcurrently available external resources at the current position byimmediately scanning for all available external resources connected tothe local network at the current position; and computer code forautomatically configuring the portable device to access at least one ofthe available external resources based on the dynamically determinedcurrently available external resources at the current position and onone or more resource preferences stored in memory of the portabledevice, selecting a mode of access to a network for use with theportable device, configuring access rights to one or more files, anddisabling one or more ports or peripherals.
 20. The computer programproduct of claim 19, wherein the computer code for monitoring locationof the portable device to determine the current position uses a globalpositioning system (GPS) determination.
 21. The computer program productof claim 19, wherein the computer code for monitoring location of theportable device to determine the current position uses a cellularnetwork to determine the current position.
 22. The computer programproduct of claim 19, wherein the currently available external resourcesinclude one or more peripherals and wherein the computer code forconfiguring includes computer code for selecting the one or moreperipherals for use by the portable device.
 23. The computer programproduct of claim 22, wherein the one or more peripherals includes anetwork-accessible storage device located at the current position andconnected to the local network.
 24. The computer program product ofclaim 19, wherein the one or more resource preferences included at leastone of a preference to use a type of peripheral device, a restrictionnot to use a type of peripheral device, and a default type of peripheraldevice.
 25. The computer program product of claim 19, wherein thecomputer code for monitoring location of the portable device todetermine whether the current position has portable changed from theprevious position determines position upon detecting the local network.26. The computer program product of claim 19, wherein the computer codefor monitoring location of the portable device to determine whether thecurrent position has changed from the previous position determinesposition substantially continuously.
 27. The computer program product ofclaim 19, wherein the position is one of a plurality of areas.